Still missing an rutine to check for missing downloads, on report table, or instead on your code where you delete downloads do an query to delete from reports where download = id
Leftbar.php
Code:
<?=$core->templateVar("downloadreport")?>
Code:
CREATE TABLE IF NOT EXISTS `wcddl_reports` (
`id` int(11) NOT NULL auto_increment,
`download` int(11) NOT NULL,
`reason` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
]
Code:
<?php
/*BEGIN_INFO
Show the report on left bar<br />
Show the reported sites on admin.
END_INFO
*/
if(!defined("WCDDL_GUTS"))
exit;
$modEnabled = true; //Change to false if don't use
if($modEnabled) {
$add = array('reportMod' => "Reported Downloads",);
$core->admin_links = array_merge($core->admin_links, $add);
function modreport() {
global $core;
$id = intval($core->id);
if(isset($_POST['reason']))
$reason = $_POST['reason'];
$reason = $core->processURL($reason,' ');
$exists = mysql_query("SELECT COUNT(id) FROM wcddl_reports WHERE download = '".$core->id."'");
$exists = mysql_result($exists,0);
if($exists > 0) {
$return = 'Status: <b>This download has ben Reported!</b> ';
}
else {
$return = '<form action="" method="POST">
Report this download:<Br />
<select name="reason">
<option value="">Report Reasons</option>
<option value="Dead Links">Dead Links</option>
<option value="Hide Contend">Hide Contend</option>
<option value="Page Not Found">404 Page Not Found</option>
<option value="Fake Page">Fake Page</option>
<option value="Download are on wrong section">Wrong Type</option>
<option value="No Description or image">No Description or Image</option>
<option value="No Links to Download">No Links for Download</option>
<option value="Links are using an suspicious site.">Links under an Masker/Protector Site</option>
<input type="Submit" value="Report">
</form>';
}
if(isset($reason) && !empty($reason)) {
mysql_query("INSERT INTO wcddl_reports (download,reason) VALUES ('".$core->id."','".mysql_real_escape_string($reason)."')") or die(mysql_error());
$return = 'Download reported!';
}
$core->setTemplateVar("downloadreport",$return);
}
$core->attachHook("endFetchDownload","modreport");
function reportAdmin() {
switch($_GET['go']) {
case "reportMod":
$get = mysql_query("SELECT id,download,reason FROM wcddl_reports");
if(!mysql_num_rows($get))
$msg = 'No Downloads Reported.';
else {
echo '<table width="100%" border="0">';
while($row = mysql_fetch_assoc($get)) {
echo '<tr>
<td><a href="/download.php?id='.$row['download'].'" target="_blank">Download #'.$row['download'].'</a></td>
<td>'.htmlspecialchars($row['reason']).'</td>
<td><a href="?go=reportModClean&id='.$row['download'].'">Clean</a></td>
<td><a href="?go=reportModDelete&id='.$row['id'].'">Delete</a></td>
<td><a href="?go=reportModDeleteall&download='.$row['download'].'">Delete Everthing</a></td>
</tr>';
}
echo '<td>Clean Remove only the Report, Delete Remove the Report & Download.</td></table>';
}
break;
case "reportModDelete":
if(!isset($_GET['id']))
$msg = 'No ID set!';
else {
$id = intval($_GET['id']);
if($id < 1)
$msg = 'Invalid report ID given!';
else {
$exists = mysql_query("SELECT id, download, reason FROM wcddl_reports WHERE id = ".$id);
$row = mysql_fetch_assoc($exists);
if($row['id'] != $id)
$msg = 'Report does not exist!';
else {
mysql_query("DELETE FROM wcddl_reports WHERE download = ".$row['download']);
mysql_query("DELETE FROM wcddl_downloads WHERE id = ".$row['download']);
$msg = 'Report and Download deleted.';
}
}
}
echo '<strong>'.$msg.'</strong>';
break;
case "reportModDeleteall":
if(!isset($_GET['download']))
$msg = 'No ID set!';
else {
$download = intval($_GET['download']);
if($download < 1)
$msg = 'Invalid report ID given!';
else {
$exists = mysql_query("SELECT * FROM wcddl_downloads WHERE id = ".$download);
$row = mysql_fetch_assoc($exists);
if($row['id'] != $download)
$msg = 'Report does not exist!';
else {
mysql_query("DELETE FROM wcddl_reports WHERE download = '".$download."'");
mysql_query("DELETE FROM wcddl_downloads WHERE sid = ".$row['sid']);
mysql_query("DELETE FROM wcddl_sites WHERE id = '".$row['sid']."'");
$msg = 'All Report and Download deleted from '.$row['sid'].'';
}
}
}
echo '<strong>'.$msg.'</strong>';
break;
case "reportModClean":
if(!isset($_GET['id']))
$msg = 'No ID set!';
else {
$id = intval($_GET['id']);
if($id < 1)
$msg = 'Invalid report ID given!';
else {
$exists = mysql_query("SELECT COUNT(0) FROM wcddl_reports WHERE download = ".$id);
$exists = mysql_result($exists,0);
if($exists < 1)
$msg = 'Report does not exist!';
else {
mysql_query("DELETE FROM wcddl_reports WHERE download = ".$id);
$msg = 'Report deleted.';
}
}
}
echo '<strong>'.$msg.'</strong>';
break;
default:
return true;
break;
}
}
$core->attachHook("adminFunctions","reportAdmin");
}
?>